﻿using System.Linq;
using PortalCurriculo.Domain.Interface;
using PortalCurriculo.Util.Encryption;

namespace PortalCurriculo.Domain
{
    public partial class Configuracao : IConfiguracao
    {
        //private const string IVCryptografy = "iwgtvksyh89$"; //tirar em produção: banco = $pc#ivc@
        //private const string KeyCryptografy = "khhjedtgy76$"; //tirar em produção: banco = $pc#kc8@

        #region IConfiguracao Members

        public string CarregarConfiguracao()
        {
            Encryption encryption = Utils.EncryptionHelper.CarregarChaveCriptografia();

            Descricao = encryption.Cryptograph(Descricao);

            return Helpers.Util.Descriptografar((from configuracaoLinq in Context.Instance.Configuracaos
                                                 where configuracaoLinq.Descricao.Equals(Descricao)
                                                 select configuracaoLinq.ValorDefault).FirstOrDefault());
        }

        //public Encryption CarregarChaveCriptografia()
        //{
        //   var encryption = new Encryption
        //                         {
        //                             IV = (from configuracaoModel in Context.Instance.Configuracaos
        //                                   where configuracaoModel.Descricao == IVCryptografy
        //                                   select configuracaoModel.ValorDefault).FirstOrDefault(),
        //                             Key = (from configuracaoModel in Context.Instance.Configuracaos
        //                                    where configuracaoModel.Descricao == KeyCryptografy
        //                                    select configuracaoModel.ValorDefault).FirstOrDefault()
        //                         };

        //    return encryption;
        //}

        #endregion
    }
}